About WAPLite

(Document revision date:  December 1, 2000)

WAPLite is a fast, powerful, and efficient WAP gateway.

Whether you are looking for a WAP gateway to use for development and testing purposes, or a gateway that will scale to support thousands of active users, WAPLite can meet your needs.

WAPLite connects WAP compatible mobile phones to internet and intranet based applications and content.

WAPLite includes a WAP v1.1 compatible stack that supports connection less and connection oriented modes over UDP.  Both GET and POST methods are supported for connecting to WML (Wireless Markup Language) based applications on any web server.

WAP applications and content are not hosted directly on the WAPLite server.  Instead, they are hosted on standard web servers, where the web server is configured to respond with WML content, instead of HTML content.  WML is the markup language that is defined by the WAP specifications.

WAPLite supports phones and devices that are compatible with the WML v1.1 specification.  This includes, but is not limited to the following devices and SDKs:

 - Nokia 7110 (GSM 900/1800, plus beta versions for TDMA and GSM 1900)

 - Nokia 6210 (GSM 900/1800)

 - Nokia 9110i

 - Motorola Timeport P7389 (tri-band GSM 900/1800/1900)

 - Motorola L-Series+ (similar to P7389, but GSM 900/1800)

 - Motorola P7689 (GSM 900/1800/1900)

 - Motorola V8088 (GSM 900/1800)

 - Motorola A6188 (GSM 900/1800)

 - Ericsson MC218 PDA

 - Ericsson R320 (GSM 900/1800)

 - Ericsson R380 (GSM 900/1800)

 - Siemens C35, S35, M35 (GSM 900/1800)

 - Mitsubishi Trium WAP Phone (GSM 900/1800)

 - Sony CMD-Z5 (GSM, uses Microsoft Mobile Explorer Browser)

 - Panasonic GD93 (GSM 900/1800)

 - Psion WAP Browser

 - Nokia WAP Toolkit v1.2, v1.3, v2.0 (SDK/Emulator)

 - Ericsson WapIDE (SDK/Emulator)

 - Ericsson R380 Emulator (SDK/Emulator)

 - Phone.com v4.0 SDK (SDK/Emulator)

 - AU Systems Emulator for Psion Browser (SDK/Emulator)

 - AU Systems WAP Browser for Palm

 - WAPman from Edge Consultants (Palm & Windows browser)

 - Numerous others have been tested by end-users

(Note that by default, the Phone.com SDK uses WTLS (encryption) to communicate with the WAP gateway.  If you are using a version of WAPLite that does not support WTLS (like the evaluation version), then you will need to add the command line option "-nonsecure" to the shortcut that launches the UP.Simulator.)

We also have customer reports of successful usage with beta releases of phones that have not been tested by Infinite Technologies directly.

If you are testing a WAP compatible device that is not on the list above, please send an e-mail message to Info@WAPLite.com with feedback on the device.  Infinite Technologies is committed to providing any necessary support for future WAP devices, as they become available on the market.

Note that there are some phones that are currently on the market, especially in the United States, that provide some support for the display of WAP content, but that do not implement the complete WAP protocol stack.  These older phones use the Phone.com browser, and can support the display of WAP content, but do not use the actual WAP protocols for communicating with a server, but instead use the old proprietary Phone.com HDTP protocol.  This includes the Siemens S25, as well as a number of devices available for the Sprint PCS network in the US.

Phones with the Phone.com browser need to have v4.0 or later of the UP.Browser to support the complete WAP v1.1  protocol stack.  The Motorola phone  are the first of the phones with this release of the browser.

.


How It Works

The description below discusses configuration details for using WAPLite in a circuit switched data (CSD) environment.  WAPLite can support WAP devices that are using UDP (connection-less TCP/IP) as the protocol bearer for WAP.  This includes CSD connections, and GPRS (General Packet Radio Service, the future packet data service for GSM networks) when it becomes avaialble.  (Several WAPLite users have reported that they are beta testing GPRS compatible phones successfully with WAPLite.)

1.) To connect to the WAPLite Server, you must configure the WAP services in your telephone to make a data call (CSD - circuit switched data) into a RAS (Remote Access Server) dial-up server.  The telephone will make a PPP (dial-up TCP/IP) connection to the RAS server.

PPP is the standard protocol that is used for internet dial-up connections, so your PPP connection could be a dial-in to an existing internet service provider, or it could be a connection to a Windows NT or Unix dial-in server.

You will need to configure the dial-up properties for this connection in your telephone (phone number, PPP user name and password).

2.) Over the RAS connection, the telephone will send and receive packets over UDP (connection-less IP) to interface with the WAPLite Server.  You will need to configure the IP address of the WAPLite Server in your telephone.  Some devices require you to configure a port number, in addition to an IP address for the server (such as the Motorola phones).  The port number that should be configured is 9201.

In the event that any ports need to be opened for firewalls, WAPLite supports connections using UDP on ports 9200 and 9201.  The Nokia 7110 uses port 9200 when it is configured for Connection-type = temporary, and 9201 when configured for Connection-type = continuous.  (These settings correspond to connection-less and connection oriented definitions of the WAP protocol specification.)

If you are using the WTLS version of WAPLite, port 9203 is used for connection oriented mode using WTLS, and port 9202 is the connection-less mode.

If you need more help configuring your phone, please refer to the Frequently Asked Questions section of this document.

3.) The WAPLite Server issues HTTP requests to fetch WML content from other web servers.  Requests from the telephone are translated into HTTP requests, and the results are compiled and transmitted back to the mobile phone.  Your server applications will actually run on industry standard web servers, instead of directly on the WAP server.  This gives you access to development APIs such as ASP (Active Server Pages) and ISAPI in the Microsoft Internet Information Server environment, as well as CGI and other scripting support in various web server implementations.

Your web server application must return WML content in response to these HTTP requests that WAPLite will relay on behalf of mobile devices.

(Please note that WAPLite does not translate content from HTML to WML.)

Web servers that are hosting WAP/WML applications should send WML content using a MIME content-type of "text/vnd.wap.wml".  In most instances, this will require configuring your web server to associate that MIME type with a file extension of ".wml".

WML applications can also contain WMLScript routines, which have a MIME content-type of "text/vnd.wap.wmlscript".

Please consult your web server documentation for information on how to configure these MIME types within your web server.  (Note for Microsoft Personal Web Server users, the Personal Web Server reads MIME type configuration from Windows, so you can define these MIME types under My Computer/View/Folder Options, on the File Types tab.  Note that you need to restart Personal Web Server after adding or changing any MIME types.)

For more information on WML and WMLScript, please refer to the WAP specifications, which are available on-line at the WAP Forum web site:  http://www.wapforum.org.


Installation

1.) Install the WAPLite Server on a Windows 95, Windows 98, Windows 2000, or Windows NT machine.

This PC must have TCP/IP connectivity to your RAS server (or the internet, if you are connecting through an ISP account), as well as connectivity to any web servers with which it needs to interoperate.

2.) Run WLITE.EXE to install the WAPLite Server.  You will be prompted for an installation program directory.

3.) At the end of the installation, a WAPLite dialog will be displayed.

This dialog includes an "Install Service" option.  Select this option to start the WAPLite Server.  This option will also configure the WAPLite Server to run automatically on this system, registering it as a service in the Windows NT or Windows 2000 database, or as an automatically loaded service application under Windows 95 or Windows 98.

Installation of the WAPLite software is now complete.   WAPLite is installed and ready to process requests.

Please refer to the documentation for your device for information on how to configure your device to connect with the WAPLite server.

In most configurations, this will involve configuring the following information:

The device must be configured to make a dial-up connection into a Remote Access Server (RAS).  This is a standard PPP (dial-up TCP/IP) connection.  You will need to configure a phone number for this connection into your phone, along with a username and password (if required) for the dial-up connection.

You will also need to configure the IP address of the WAPLite gateway in the configuration options of the phone.

Finally, some phones allow you to configure a URL for your home (start) page. This URL is a standard web format URL that should point to a page of WML content, such as http://www.waplite.com/index.wml.  (Some phones do not allow this to be configured, and will use the home page defined on the WAPLite Server.)

Below are some specific steps and guidelines for configuring popular phone models.

Nokia 7110:

Bring up the "Services" menu, and press the navi-roller.  Select "Settings". Press the navi-roller.  The 7110 allows you to store 5 different sets of WAP connection settings.  Highlight the current settings, or one of the unused settings on the phone, and select "Options".  Select "Edit" to edit the selected settings.

"Homepage" should be set to the WML page that you wish to use as your home page in the phone's browser.  Specify a URL such as "http://server/path.wml".  Note that "http://" is assumed, so you could specify "server/path.wml".  If you wish to use the default home page configured in the WAPLite gateway for Phone.com based phones, specify "device:home".

"Connection Type" can be set to either "Continuous" or "Temporary".  We recommend the "Continuous" setting will enable retry logic in the communications protocol.

"Connection Security" should be set to "Off", unless you are using a version of WAPLite with WTLS support.  (WTLS support is an extra cost item, and may not be available in all export markets.)

"Bearer" must be set to "Data".

"Dial-up number" must be set to the phone number of your dial-in server.

"IP Address" must be set to the IP address of your WAPLite server.

"Authentication type" can be set to either "Normal" or "Secure", depending on the configuration of your dial-in server.  This setting specifies how the username and password are sent to the dial-in server, and does not have any affect on actual WAP communications.

"Data call type" can be set to either "Analogue" or "ISDN", depending on your mobile operator network and the type of dial-in connection that you will be using.  ISDN connections will provide faster initial connection times, but may not be supported by all mobile phone operators.

"Data call speed' can normally be left to "Autobauding".

"User name" specifies the user name associated with your RAS dial-up connection.

"Password" specifies the password associated with your RAS dial-up connection.

Once you have configured all of your settings, use Back to return to the previous level of menus, and then "Activate" your configuration.

Motorola Timeport P7389 (or L-Series+ or Leap Phone):

Press the "Menu" button until "Access Internet?" appears, and select "Ok".

Hold down the "Menu" button for about 3 seconds until a screen titled "Main Menu" or "Browser Menu" appears.

Scroll to "Setup" and select "Ok".

Under "Primary Data", enter the IP address of your WAPLite server.  Specify a port number of 9201.  (If you are using a WTLS enabled version of WAPLite, you can use port 9203 for WTLS enabled connections.)  Select "Back" when you have completed these settings.

Scroll to "Data Info" and select "Ok".

Configure the phone number for your dial-in server.

"User name" and "Password" specify the user name and password associated with your RAS dial-up connection.

The remaining fields can be left to their defaults.  Select "Back" to return to the previous menu.

It is recommended that you exit the browser (button on the middle of the right side of the phone), and then re-enter the browser to continue with these new settings.


Configuration

Once WAPLite has been installed, and the service has been started, it is ready to use.

The remaining configuration options may be used to fine tune the system.  A description of available configuration options follows:

"Stats" Page:

This page displays information about the currently running instance of WAPLite. It provides information about how long the server has been running, how many requests have been processed, as well as information about peak active user counts, and the current active user count.

If the service is not active, an "Install Service" button is displayed.  Select this button to start the WAPLite server and configure it to run automatically as a service.

"Options" Page:

"Require WTLS Secure Connections" - This option is only displayed when the WTLS version of WAPLite is installed.  When this option is checked, all connections to the gateway must be configured to use WTLS security.  An error message will be displayed for any non-secure connections.

"Require WTLS for SSL connections to content servers" - This option is only displayed when the WTLS version of WAPLite is installed.  When this option is checked, users who connect to the gateway without WTLS enabled will only be able to connect to non-SSL content servers (i.e., http:// links).  Any attempt to connect to a content server with SSL (i.e., https:// links) will display an error message indicating that security must be enabled on the device in order to access this site.

"Use HTTP Proxy Server" - This checkbox allows you to configure WAPLite to issue web requests via a proxy server.  This might be a general proxy server on your corporate intranet, or it might be a specialized proxy server that provides dynamic HTML to WML conversion, such as Argo Group's ActiGate, or Spyglass Prism.  If this checkbox is enabled, enter the IP address for the proxy server in the next field.  A port number of 80 is assumed for the proxy server, to specify a different port number, use the format w.x.y.z:###.

"Enable HTTP Session Cookies" - This checkbox is used to enable the use of "session cookies" that are generated by web-server applications.  Some applications use cookies to track logged in users between requests.  This option is enabled by default.

"Enable Persistent Cookies as Session Cookies" - HTTP cookies can be either session based (which in a web browser environment means that they are valid until the browser is closed), or persistent (where the browser stores them on disk and will re-use them for future sessions).  This behavior is controlled by whether or not the cookie includes an "Expires" tag.  If no expires tag is present, the cookie is a session cookie.  If an expires tag is present, the cookie is a persistent cookie.  By default, WAPLite will only support session cookies.  Enable this option if you wish to enable support for persistent cookies.  Note, however, that these cookies will be treated as session cookies, and will not be saved between user sessions unless Radius Accouting is enabled.

"Disable Response Size Limit Enforcement" - The WAP specifications define a default limit on the size of a service data unit within the Wireless Session Protocol (WSP) of 1400 bytes.  This can limit the size of WML deck that can be transmitted from the WAP gateway to the phone, unless the phone negotiates a higher limit.

If a response exceeds the limit (either negotiated or the default if the phone does not perform this negotiation), then by default, the gateway will return an error message to the device.   This error message is intended as an aid to developers and users, as otherwise most current phones would either crash, or would eventually report a timeout error waiting for the response.

By checking "Disable Response Size Limit Enforcement", this will disable the gateway's enforcement of the protocol size limits, and the error message described above.  Instead, the gateway will attempt to send any larger responses.  The results may or may not work, depending on the device.  It may also result in unexpected behavior or crashes on some devices.  Therefore, we recommend that this setting should only be used with extreme caution.

"Default WML Home Page Settings" specify a home page that will be displayed by phones that are using the Phone.com browser, such as the Motorola phones.  Current versions of these phones do not allow the user to configure their own home page.  If you are using any such phones, then you should configure a home page here, specifying a complete URL such as http://www.waplite.com/index.wml.

It is possible to support multiple default home pages by binding the gateway to multiple IP addresses (up to 32), and associating a different home page with each of the IP addresses on the gateway PC.  The "Server IP Address" field will display a list of all IP addresses bound to the gateway PC, and a different "Home Page URL" can be specified for each of the IP addresses.  A special "Server IP Address" setting of "(any address)" will specify a default home page for any addresses that do not have a specific setting assigned.

"Restrictions" Page:

"Addresses Allowed to Use Gateway" allows you to restrict the devices that are allowed to make connections through the WAPLite Server.  If no addresses are specified, then any device can make a connection through the WAPLite Server.  If one or more addresses are specified, then only listed devices can make connections through the WAPLite Server.  Both an IP address and an address mask can be specified.  (Example:  Specifying an address of 10.10.10.0, with a mask of 255.255.255.0, means that any addresses in the 10.10.10.x range can make connections through the WAPLite Server.)

"Log" Page:

"Number of days to retain logs" specifies how many days old log files will remain on the system.   WAPLITE.LOG will always contain a log of the current day's activity.   By default, 90 days of previous log activity is saved.  Old log files are stored under a filename that includes the date, such as WAPLITE-yyyymmdd.LOG.

"Enable Debug Log" is a setting that enables a detailed log file of gateway activity.  Enable this setting only if directed to do so by Infinite Technologies techinical support.

Press the "Display Console" button to display a console window that shows current WAP server activity.

"Advertising" Page:

The advertising page allows you to configure special advertising messages that will be inserted into WML request/response dialogs issued by the mobile device.

One simple application for advertising is a start-up banner page that is displayed on a user's first request of your gateway.  This might be a paid advertisement, or it may just provide "branding" information that reminds the user that they are connecting through your service.  Used in this way, this "branding" feature may be useful to corporate, as well as commercial services.

All advertisements are served from a static local directory on the WAPLite server itself.  By default, this is the WML directory that is located directly beneath the WAPLite program directory.  This directory can be changed by the configuration program.

An example ad is included with the install under a name of WAPLITE.WML.  That file uses a WML "ontimer" event so that it displays a splash banner for several seconds, and then directs the user to the originally requested URL, which is denoted by a replaceable parameter of "@@RedirectURL@@" within the WML deck.  WAPLite will replace that parameter with the actual URL when the request is processed.

More restrictive services could use this facility to force a user to always start at the service's home page.

In addition to supporting an advertisement for the initial connection, advertisements can also be dynamically inserted after every so many requests. This may be useful for helping to support free services.

It is possible to configure the system so that certain URLs are excluded from these dynamically inserted advertisements, with the intent that users might be able to surf ad-free through the service's local pages, but would encounter advertisements when accessing external sites.

Use extreme care when deploying these powerful capabilities, as users may not like services that have an abundance of obtrusive advertisements.

The following configuration options are available on this page:

"Directory for local WML Content" - This is the directory under which WAPLite will look for any local WML content residing directly on the WAPLite server. URL requests for these pages can be made from the device using a URL format of "http://local/filename.wml", where "filename.wml" would be the name of the local file to be retrieved.

"Display ad on initial connection" - This specifies whether or not an ad will be inserted automatically on a user's first request of the gateway. When this option is enabled, there is a choice that either the "ad rotation" list is used, with ads being randomly selected, or that a specific ad is always used for the initial connection.   When specifying this specific ad,  you must specify the name of a file that exists locally in the "Directory for local WML Content".

"Display ads periodically during user sessions" - When enabled, this setting will dynamically insert ads into user requests.  Specify the number of requests to be allowed between advertisements in the space provided.

"Ad Rotation List" - This specifies a list of ads to be used.  WAPLite will rotate through this list to display a random ad selection, if desired. When specifying an ad for this list, you must specify the name of a file that exists locally in the "Directory for local WML Content".

"Content domains excluded from ads" - This is a list of hosts/domains for which the feature to "Display ads periodically during user session" will be automatically disabled.  To disable ads for requests of a particular host, add the name of that host, such as "mailandnews.com".   To disable ads for requests of all hosts within a domain, add the name of the domain with a  leading "." character, such as ".mailandnews.com".

"Radius" Page:

This page controls settings for integrating with dial-in servers that provide Radius accounting support.

Integration with Radius enables the following capabilities with WAPLite:

1.) The ability to determine the phone number of a connected user.

2.) The ability to store persistent cookies for personalization on behalf of content servers, enabling users to easily access personalized information between connections.

3.) The ability to store bookmarks on the WAP gateway for phones that expect bookmarks to be stored on the gateway (e.g., Motorola phones with the Phone.com browser).

"Enable Radius Accounting Interface" enables a Radius Accounting Server that is built into WAPLite.  By default, the Radius Accounting protocol listens on port 1813.  If there is a problem binding to the Radius Accounting port, an error will be displayed (Windows 2000 has a built in authenticationservice that binds to this port, which may need to be disabled).  Note that Radius Accounting also has a password associated with it, which must be coordinated with the password set for Radius Accounting on the dial-in server.

"Enable Radius Authentication Server" enables a simple Radius Authentication Server that is built into WAPLite.  This Radius Authentication Server is intended to be an extremely simple implemenation of a Radius Server.  It will accept all logins, without performing any type of password validation.  This server interface is provided for environments where a Radius Proxy is unable to separate the forwarding of Radius Accounting information from Radius Authentication requests.  For environments that have more complex needs, a more capable Radius Authentication server is recommended.  By default, the Radius Authentication protocol listens on port 1812.  If there is a problem binding to the Radius Authentication port, an error will be displayed (Windows 2000 has a built in authentication service that binds to this port, which may need to be disabled).

"Require caller identification for all WAP connections" - Enable this setting if you only want to accept WAP connections where the caller ID has been presented via Radius accounting.

"Maintain personalization based on" - This option specifies whether persistent cookies are stored based on the user's phone number, or on the user id with wich they authenticated to the Radius server.

"Forward MSISDN to content servers" - Enable this setting if you wish to have the user's phone number forwarded to any content servers.  You must then explicitly list the content domains that will receive this information.  For example, specifying "infinite.com" would allow any servers within the "infinite.com" domain (such as "www.infinite.com" or "support.infinite.com") to receive the user's phone number in any requests forwarded by the gateway via the

HTTP "X-MSISDN:" header.

Content servers that are not configured to receive the MSISDN information will still receive a unique client identifier via the "X-Infinite-ClientID:" header.

When the Radius Accounting and/or Radius Authentication servers are enabled, statistics about the number of packets received will be displayed at the bottom of this dialog to assist in troubleshooting.

"Proxy" Page:

This page is available only in the secure WTLS version of the product.

It allows secure WTLS proxies to be defined for selected content domains.

When a request is received via WTLS for a content domain in the WTLS Secure Proxy Definition list, WAPLite will forward the request via WTLS to the IP address of the gateway specified for that content domain.

"OTA" Page:

This page allows for the configuration of settings related to the SMS sending of Over-the-air (OTA) configuration messages to supported WAP devices.

To enable this service, it requires that a GSM modem (such as the Nokia Card Phone v2.0) or a mobile phone with a built in GSM modem (such as the Nokia 7110 with a data cable) be connected to a communication port on the WAP gateway.  It is also required that the appropriate modem drivers for the GSM modem device be installed into the Windows configuration for the modem.

Click "Configure" to configure settings related to OTA, which include those described below.

OTA "Modem" Settings:

This dialog lists the modems installed in your Windows configuration.

Select the GSM modem and click "Test GSM Modem" to verify that it is compatible with the OTA software and that the Windows drivers for the modem are installed correctly.

Select "Install Service" once you have completed the configuration settings for the OTA service, so that it will be loaded automatically along with the WAPLite gateway.

OTA "Profile" Settings:

This dialog allows you to configure different profiles related to the devices that will be connecting to your gateway.

"Profile Name" specifies a descriptive name to be associated with the profile.

"WAPLite Server IP Address" specifies the IP address of the WAPLite server.

"Secure" should be checked if connections to the WAPLite server should be only via a secure protocol, or unchecked for unsecure connections.

"Home Page URL" should specify a URL (http://server.name/path) that points to a home page.

"Dial-in Access Number" specifies the phone number to be dialed for circuit switched data connections.

"ISDN" should be checked for digital connections, and unchecked for analog connections.

"SMS Service Center" can normally be left blank, or it should be set to the Service Center address of your operator.

"Use MSISDN as dial-in user name" can be used if you want the profile to be configured such that the user's phone number is configured as their dial-in user name.  If unchecked, specify a "user name" and "password" to be associated with the dial-in connection.

OTA "Options" Settings:

This setting allows for the configuration of the web interface that can be used to allow OTA configuration requests to be submitted remotely via HTTP.

When this setting is enabled, you must specify an HTTP port to be associated with the requests.

Additionally, if you wish to password protect the HTTP interface, check the box titled "Require Authentication for HTTP OTA Interface",  and specify a user name and password that will require HTTP basic authentication for access to the OTA HTTP interface.

"Directory for OTA Configuration Requests" is an advanced setting for configurations where the OTA server is installed on a separate PC from the WAP gateway, or when multiple OTA servers are installed.  Here a path can be specified to the central directory in which OTA requests will be submitted (by default, c:\program files\waplite\ota).

Submitting OTA Requests:

Requests to send an OTA configuration message via SMS can be submitted via one of the following mechansims:

1.) OTA Web Request:  When the HTTP OTA interface is enabled OTA configruation requests can be initiated by connecting to the  web port specified in the configuration.  For example, http://localhost:8800.  The OTA web server will process ota\request.htm to process the submitted reuqest.  It is also possible to submit configuration reuqests indepdently of the web form.  In this instance, use the HTTP variables OTAPROFILE, OTAPHONENUM and OTADEVICETYPE, as would be speicified by the web template file request.htm.

2.) Direct submission of OTA requests into the SMS queue:  Create a .REQ file in the OTA\Request subdirectory of the WAP gateway.  Under an [OTA Request] section header, specify settings for "Profile=", "PhoneNumber=", "DeviceType=", "RasUserName=", and "RasPassword=".

3.) Direct submission of OTA requests via HTTP requests that bypass the HTML form, such as http://server.name?OTAPROFILE=Test&OTAPHONENUM=+447867987664&OTADEVICETYPE=7110.


Log Files

WAPLite maintains log files in its program directory.  These log files may be parsed or saved by external applications.

WAPLITE.LOG will contain a log of the current day's activity.

By default, 90 days of previous log activity is saved.  Old log files are stored under a filename that includes the date, such as WAPLITE-yyyymmdd.LOG.

These log files are generated in a standard web-server compatible format.


Frequently Asked Questions

Q - What is "Lite" about WAPLite?

1.) The download size.

2.) The price.

3.) The overhead on the computer system that is running the gateway.

WAPLite is a full featured WAP gateway that is designed primarily to be fast.

As long time WAP developers (Infinite Technologies has been developing pre-WAP solutions in the Phone.com/Unwired Planet environment since 4Q1996), we were extremely disappointed by the size, speed and overall performance of another WAP server targeting corporate and ISP markets.  The code name for the development of this gateway was "WAPLite" because we felt this name captured the spirit of what we were trying to accomplish ... namely the development of a WAP gateway that empowered WAP applications, not a WAP gateway that more often got in the way of the actual applications.

We are continually working to enhance WAPLite to provide the features that customers are asking for (when they can be supported in the actual phones!), and in some cases you will find that we actually support a number of important features (such as "cookies") which are rarely supported in other WAP gateways with higher price tags.

Q - How do I configure my Nokia 7110?

Bring up the "Services" menu, and press the navi-roller.  Select "Settings".  Press the navi-roller.  The 7110 allows you to store 5 different sets of WAP connection settings.  Highlight the current settings, or one of the unused settings on the phone, and select "Options".  Select "Edit" to edit the selected settings.

"Homepage" should be set to the WML page that you wish to use as your home page in the phone's browser.  Specify a URL such as "http://server/path.wml".  Note that "http://" is assumed, so you could specify "server/path.wml".  If you wish to use the default home page configured in the WAPLite gateway for Phone.com based phones, specify "device:home".

"Connection Type" can be set to either "Continuous" or "Temporary".  We recommend the "Continuous" setting will enable retry logic in the communications protocol.

"Connection Security" should be set to "Off", unless you are using a version of WAPLite with WTLS support.  (WTLS support is an extra cost item, and may not be available in all export markets.)

"Bearer" must be set to "Data".

"Dial-up number" must be set to the phone number of your dial-in server.

"IP Address" must be set to the IP address of your WAPLite server.

"Authentication type" can be set to either "Normal" or "Secure", depending on the configuration of your dial-in server.  This setting specifies how the username and password are sent to the dial-in server, and does not have any affect on actual WAP communications.

"Data call type" can be set to either "Analogue" or "ISDN", depending on your mobile operator network and the type of dial-in connection that you will be using.

"Data call speed' can normally be left to "Autobauding".

"User name" specifies the user name associated with your RAS dial-up connection.

"Password" specifies the password associated with your RAS dial-up connection.

Once you have configured all of your settings, use Back to return to the previous level of menus, and then "Activate" your configuration.

Q - How do I configure my Motorola Timeport P7389 (or L-Series+ or Leap Phone)?

Press the "Menu" button until "Access Internet?" appears, and select "Ok".

Hold down the "Menu" button for about 3 seconds until a screen titled "Main Menu" or "Browser Menu" appears.

Scroll to "Setup" and select "Ok".

Under "Primary Data", enter the IP address of your WAPLite server.  Specify a port number of 9201.  (If you are using a WTLS enabled version of WAPLite, you can use port 9203 for WTLS enabled connections.)  Select "Back" when you have completed these settings.

Scroll to "Data Info" and select "Ok".

Configure the phone number for your dial-in server.

"User name" and "Password" specify the user name and password associated with your RAS dial-up connection.

The remaining fields can be left to their defaults.  Select "Back" to return to the previous menu.

It is recommended that you exit the browser (button on the middle of the right side of the phone), and then re-enter the browser to continue with these new settings.

Q - Does WAPLite support cookies?

Q - Does WAPLite support cookies?

A - Yes.  Session cookies are supported in all configurations.  As the WAP devices themselves do not support cookies, the gateway to support these cookies on behalf of the devices.

Due to current limitations of WAP, persistent cookies (cookies that have a lifetime beyond a single user session) are only supported when the identity of the user is available via integration with Radius Accounting on the dial-up link.

See the "Cookies" options on the "Options" screen for more information.

Q - Does WAPLite support WMLScript?

A - Yes.  Early versions of WAPLite supported only compiled WMLScript, but recent versions do not have this limitation.

Q - Does WAPLite provide support for any servlets that run directly on the WAP gateway?

A - We have no plans for supporting this type of functionality.

If you are developing servlets, we recommend that they be developed and deployed on a web server.

The reason for this recommendation is because we believe that it is in the best interest of developers to develop standards-based solutions, where they are not tied in to a particular WAP server.

While from a selfish standpoint, we may want to encourage you to use our WAP server in customer deployments, we also recognize that there are other WAP servers that are being installed in the various  mobile operator environments.

We want to encourage developers to develop applications that are flexible and can operate with a number of different WAP servers.  If we encouraged developers to develop servlets that ran on our WAP server, it would be locking you in to our solution ... and that is against our general philosophy for WAP.

Yes, there is a certain other vendor that is providing an API for developing servlets that run directly on their WAP server, and we encourage developers to carefully consider whether or not the benefits of that approach outweigh the limitations.

Q - Does WAPLite support "PUSH"?

A - Presently, no.  However, to put this into perspective, at the time of this release, there are no WAP phones on the market which are supporting "PUSH" capabilities, as this capability was added to the WAP specifications after the WAP v1.1 release.

WAPLite supports WAP v1.1.  We are committed to enhancing WAPLite to support future versions of the WAP specification.  However, features and capabilities of future versions of these specifications can't be used until there are phones and devices that support future versions of these specifications.  If you are working with beta release and prototype phones, please let us know, so that we can work with you to take advantage of features and capabilities of new devices in a timely manner.

(December 1, 2000 Note:  We are currently working with beta devices from several manufacturers who are preparing WAP v1.2 phone releases with "PUSH" support, and are planning for 1Q2001 support for "PUSH" to coincide with availability of this support in handsets.)

Q - Does WAPLite support using SSL to connect to web servers hosting WML content?

Yes, but only in the version of WAPLite that includes WTLS support.  Please refer to the question(s) on WTLS support.

Q - Does WAPLite support SMS?

A - Only for Over-the-Air (OTA) configuration (and we plan to use SMS for push content as well when phones with WAP v1.2 and PUSH support are available.)

Please note that 2-way SMS is too slow for access to interactive WAP based content.  So if you are planning for an SMS based solution, you may find that it is too slow for most applications, as users will rarely tolerate 10 second or more delays in accessing  content.

Q - Does WAPLite support WTLS?

Yes, there is a version of WAPLite that is available which supports WTLS.

WTLS is a security protocol that is used to provide secure connections between mobile devices and a WAP server.

To provide end-to-end security to an application running on a web server, the WAP server must use the SSL or TLS protocol to connect to the web server. WAPLite supports SSL and TLS only in its WTLS version.

WTLS support for WAPLite is an extra cost item, and may not be available in all export markets.

Q - What character sets does WAPLite support?

WAPLite will support the character set of the Active Code Page (ACP) that is configured for the Windows environment in which it is running.  In those environments, WAPLite will translate from this ACP (such as Chinese Big5, which is code page 950) to UTF-8 for presentation on the mobile devices.

WML pages can also include Unicode characters encoded in &#x0000 format, provided that they are supported by the mobile devices that are used.

UTF-8 can also be used for encoding Unicode characters into WML pages.  If you use UTF-8 to encode a WML page, please use the following XML header so that WAPLite is aware that you have used UTF-8:

<?xml version="1.0" encoding="UTF-8"?>

Q - What versions of WAP does WAPLite support?

WAPLite supports WAP v1.1.  We are committed to enhancing WAPLite to support future versions of the WAP specification.  However, features and capabilities of future versions of these specifications can't be used until there are phones and devices that support future versions of these specifications.  If you are working with beta release and prototype phones, please let us know, so that we can work with you to take advantage of features and capabilities of new devices in a timely manner.

Q - Where can I buy WAPLite?  How much does it cost?

If you need assistance in purchasing or sales information regarding WAPLite, please contact Infinite Technologies.  Our phone number is +1 410.363.1097, and you can e-mail Info@WAPLite.com.

WAPLite is represented by distributors and resellers around the world, and we will put you in touch with the nearest representative.

If you are interested in reselling WAPLite, please contact Paul@InfiniteMail.com.

Q - What are the MIME types for WAP?

WML is "text/vnd.wap.wml".

WMLScript is "text/vnd.wap.wmlscript".

Compiled WML is "application/vnd.wap.wmlc".

Compiled WMLScript is "application/vnd.wap.wmlscriptc".

WAP Images (WBMP format) are "image/vnd.wap.wbmp".

Q - Does WAPLite support graphics?

Yes, subject to the limitations of your device.  Most WAP devices will support WBMP format images, while some also provide limited support for GIF and JPEG formats.  You should test your application with a variety of devices as formats supported, and sizes of images support vary widely.

Q - How can I identify a user between connections?

A - WAPLite v2.0 does integrate with dial-in servers that provide caller ID via Radius Accounting.   When this support is available, WAPLite will store persistent cookies on behalf of applications, which can be used to identify a user across sessions.  In such a configuration, WAPLite v2.0 can also be configured to send the user's phone number to selected content servers (X-MSISDN header).  Additionally, for content servers excluded from receiving the user phone number, an HTTP header, X-Infinite-ClientID:, will be generated that can be used to identify a device between connections.

Unfortunately, without Radius accounting integration with the dial-in server, you cannot consistently identify a user between connections with all phone models.  This is a limitation of the current WAP protocols and device implementations, where the only information available from the client device is its IP address.

If you configure your dial-in connections so that each user account has a dedicated IP address associated with it, this is one possible way to identify users between connections, since the dial-in user connection will always be assigned the same IP address.  (Remember that devices connect to remote web sites through the WAPLite server, so private IP addresses can be assigned to the devices, while the WAPLite server has both a private and public IP address.)

WAPLite includes an "X-Network-Info:" header that is transmitted on all HTTP requests, which identifies the IP address of the connecting user.  If you decide to use this header in your application, please use care to ensure that you only accept the header when transmitted from the IP address of the WAPLite server, so that you avoid potential client spoofing.

Another approach for identifying a user between connections is to construct a URL that includes the user's authentication information, and allow the user to bookmark that URL within their device.

Q - How can I prevent the WAP browser from caching a page that has been dynamically generated by my application?

A - We recommend that you refer to the WAP Forum Specification titled "WAP Caching Model", which discusses this in further detail.

However, based on our own application devlopment experience, we have found that some of the early browsers have quirks in their implementations.  Therefore, to avoid a page from being cached by a WAP browser, we recommend the following HTTP headers:

  Expires: Tue, 01 Jan 1980 1:00 GMT

  Cache-Control: max-age=0

  Cache-Control: must-revalidate

These directives tell the browser that the page is already expired (using an already past expires date of 1/1/1980), that the page should not be cached for any length of time (max-age=0), and that the browser should re-validate the entry before redisplaying it from cache.

If your application cannot control the HTTP headers, then it should use corresponding "meta" tags within the <HEAD> section of the WML page:

  <head>

     <meta http-equiv="Cache-Control" content="must-revalidate"/>

     <meta http-equiv="Expires" content="Tue, 01 Jan 1980 1:00:00 GMT"/>

     <meta http-equiv="Cache-Control" content="max-age=0"/>

  </head>

Note that while WAPLite does pass all of these headers down to the actual device, some WAP servers do not properly pass along all of these caching related headers, especially when the headers are encoded as "meta" tags.  You will experience the least problems with portability if your application can generate these caching headers in the HTTP response, instead of as "meta" tags.

Q - Can I use the Phone.com SDK simulator with the WAPLite gateway?

A - Yes.  Please note that you need v4.0 or later of the Phone.com SDK, as earlier versions did not support the full WAP communications protocol stack.

Under Settings/UP.Link Settings, specify the IP address of your WAPLite gateway as an "UP.Link".  (UP.Link is the product name of Phone.com's WAP gateway.)

Note that by default, the Phone.com SDK uses WTLS (encryption) to communicate with the WAP gateway.  If you are using a version of WAPLite that does not support WTLS (like the evaluation version), then you will need to add the command line option "-nonsecure" to the shortcut that launches the UP.Simulator.


Techical Support and Questions

If you have any technical questions regarding WAPLite, please participate in our on-line discussion forums.

To join the WAPLite discussion list via e-mail, send a message to WAPLite@Infinite.com with SUBSCRIBE in the subject line of your message.

These discussions are also available via a newsgroup interface as infinite.products.waplite on the news server News.InfiniteMail.com.

A web interface to these discussions is also available at http://www.Infinite.com/news.

Technical questions can also be submitted to Info@WAPLite.com.


Copyright

WAPLite is Copyright (c) 1999-2000 by Infinite Technologies, all rights reserved.